package com.sc.nft.entity.vo;

import com.alibaba.excel.annotation.ExcelProperty;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.sc.nft.enums.props.reward.RewardDetailStatusEnum;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.math.BigDecimal;
import java.util.Date;

@Data
@ApiModel("用户道具奖励明细VO")
public class UserPropsRewardsDetailVO {

    @ApiModelProperty("订单号")
    @ExcelProperty("订单号")
    private String orderNo;

    @ApiModelProperty("商品名称")
    @ExcelProperty("商品名称")
    private String productName;

    @ApiModelProperty("商品规格名称")
    @ExcelProperty("商品规格名称")
    private String productSpecsName;

    @ApiModelProperty("商品缩略图")
    @ExcelProperty("商品缩略图")
    private String thumbnail;

    @ApiModelProperty("商品数量")
    @ExcelProperty("商品数量")
    private Integer productNum;

    @ApiModelProperty("买家手机号")
    @ExcelProperty("买家手机号")
    private String phoneNumber;

    @ApiModelProperty("实付金额")
    @ExcelProperty("实付金额")
    private BigDecimal realPrice;

    @ApiModelProperty("奖励道具名称")
    @ExcelProperty("奖励道具名称")
    private String propsName;

    @ApiModelProperty("奖励道具图片")
    @ExcelProperty("奖励道具图片")
    private String creationContent;

    @ApiModelProperty("奖励道具数量")
    @ExcelProperty("奖励道具数量")
    private Integer propsRewardsNum;

    @ApiModelProperty("下单时间")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    @ExcelProperty("下单时间")
    private Date orderTime;

    @ApiModelProperty("收货时间")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    @ExcelProperty("收货时间")
    private Date receiveTime;

    @ApiModelProperty("失效时间")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    @ExcelProperty("失效时间")
    private Date expirationTime;

    @ApiModelProperty("奖励状态(EXPIRED(-已失效 PENDING-待计入 CREDITED-已计入)")
    @ExcelProperty(value = "奖励状态", converter = RewardDetailStatusEnumConverter.class) // 使用自定义转换器
    private RewardDetailStatusEnum status;
} 